#include <cstdio>
#include <vector>

const int N = 1e5 + 9;
int f[N], a[N];
std::vector<int> res;


/**
 * 
 * 时间复杂度 O(n)
 * 空间复杂度 O(n)
 * 去除重复数字
 * @return 
 */
int main() {
    int n;
    scanf("%d", &n);

    for (int i=0; i<n; i++) {
        scanf("%d", &a[i]);
    }

    for (int i = n-1; i >=0; i--) {
        if (!f[a[i]]) {
            f[a[i]] = 1;
            res.push_back(a[i]);
        }
    }

    printf("%d\n", res.size());
    for (int i=res.size()-1; i>=0; i--) {
        printf("%d ", res[i]);
    }

    return 0;
}